{
LANG : PASCAL
PROB : zerosum
}

program ZEROSUM;
const
  fi = 'zerosum.in';
  fo = 'zerosum.out';
  sign : array[1..3] of char = (' ', '+', '-');
var
  a : array[1..9] of char;
  n : integer;

procedure out;
var
  i : integer;
begin
  for i := 1 to n-1 do write(i, a[i]);
  write(n);
  writeln;
end;

function cal : longint;
var
  i : integer;
  last : char;
  res, temp : longint;
begin
  res := 0;
  temp := 1;
  last := '+';
  for i := 1 to n do
    if a[i] = ' ' then temp := temp*10 + i+1
    else
    begin
      case last of
        '-' : dec(res, temp);
        '+' : inc(res, temp);
      end;
      last := a[i];
      temp := i+1;
    end;
  cal := res;
end;

procedure try(k : integer);
var
  i : integer;
begin
  if k = n then
  begin
    if cal = 0 then out;
    exit;
  end;
  for i := 1 to 3 do
  begin
    a[k] := sign[i];
    try(k+1);
  end;
end;

procedure process;
begin
  fillchar(a, sizeof(a), 0);
  a[n] := '+';
  try(1);
end;

begin
  assign(input, fi); reset(input);
  assign(output, fo); rewrite(output);
  read(n);
  process;
  close(output);
  close(input);
end.